Могут быть протестированы по следующим ресурсам:
Регулярные выражения встроены в JavaScript
Следующее выражение найдет 'Веб программирование', 'Программирование', 'Вперед', 'Что-то еще'
// literal syntax
const literalRegex = /e$/g;
// function constructor syntax
const constructorRegex = new RegExp('^В', 'g');
RegExp.test
– Ищет совпадение в строке. Возвращает true
или false
RegExp.exec
- ищет все совпадения в строкеnull
.String.match
– ищет совпадение в строкеnull
если совпадение не найденоString.replace
– заменяет все совпадение подстроки в строке на указанную строкуString.split
– разбивает строку на массив подстрок, используя регулярное выражение или подстрокуString.search
– тестирует наличие совпадения в строке- g глобальное сопоставление
- i - игнорирование регистра при сопоставлении
- m - сопоставление по нескольким строкам; символы начала и конца (^ и $) начинают работать по нескольким строкам (то есть, происходит сопоставление с началом или концом каждой строки (строки разделяются символами \n или \r), а не только с началом или концом всей вводимой строки)
- y - «липкий» поиск; сопоставление в целевой строке начинается с индекса, на который указывает свойство lastIndex этого регулярного выражения (и не пытается сопоставиться с любого более позднего индекса).
RegExp.test
, String.match
, RegExp.exec
In [23]:
var academyRegex = /Курс(ах|е)?\s(веб\s)?программировани?(я|e|ю)?/gi;
var text = 'Женя изучает JavaScript На курсах веб программирования пока Саня, то же учится на курсе программированию.';
var matches = text.match(academyRegex);
console.log(matches)
console.log("=======================")
var currentMatch;
while(currentMatch = academyRegex.exec(text)) {
console.log(currentMatch);
}
Out[23]:
In [24]:
var text = 'текст с множеством пробелов\n' +
' и множеством табуляций ';
text.replace(/\s\s+/g, ' ');
Out[24]:
In [25]:
var expression = '4+5*count-initialCount+1';
var operands = expression.split(/\+|\*|-/);
operands;
Out[25]:
In [26]:
var text = 'JavaScript крутой!';
var index = text.search(/крутой/);
index;
Out[26]:
Полный перечень специальных символов доступен по ссылке здесь
*
– Представляет символ или группу в выражении 0 или больше раз
+
– То же что и *
- только предтавляет 1 или больше раз?
– представляет символ или группу в выражении 0 or 1 раз.
(dot) – представляет один любой символ исключая перевод строки
|
– Совпадение одного или другого паттерна
[xyz]
– Набор символов - Совпадения указанных символов[x-z]
– Набор символов - Совпадения символов, вхоящих в указанный диапазон[^xyz]
– Инвертированый набор символов - совпадения других символов{N}
– точно соответствует N
вхождений элемента или группы{N, M}
– соответствует от N
до M
вхождений элемента или группы^
- совпадения от начала строки$
совпадения до конца строки
\s
– совпадение одного пробельного символа, включает пробел, табуляция, form feed, line feed
\S
– Совпадение любого символа кроме пробельного\d
– Совпадение цифры
[0-9]
\D
– совпадение не цифрового символа
[^0-9]
\w
– соответствует любому алфавитно цифровому символу, включая нижнее подчеркивание\W
– любые совпадения кроме алфавитно-цифровых символов или нижнего подчеркивания_
4
и 15
, искючительно['Chris11', '', 'Joe', 'Peter_356', '123george',
'__proto__', 'ImATooLongUsername15', 'J0hn_', '<h1>scripter</h1>']